import "SVGInject";
import "css!./iconsvg.css";
import $ = require("jquery");

/*
    用法：
    <span class="btn create iconsvg" src="asserts/icons/svgs/plus-solid.svg">这里是文字内容</span>
    生成:
    <span class="btn create iconsvg">
        <img class="svg" src="asserts/icons/svgs/plus-solid.svg" onload="SVGInject(this)" />这里是文字内容
    </span>
*/

/** 图标使用SVG文件加载 */
export default class iconsvg {
    /**
     * 加载执行 .iconsvg 图标标记, 在属性中 data-svg="<url>" 写明svg地址
     * @param jqueryRegion 需要加载的区域范围JQuery类型表示
     */
    public static onload(jqueryRegion?: JQuery) {
        jqueryRegion = jqueryRegion || $('body');

        let icons = jqueryRegion.find('.iconsvg');
        for (let index = 0; index < icons.length; index++) {
            const element = $(icons[index]);
            let svg = element.children('svg.svg');
            if (svg.length > 0) {
                continue;
            }
            let file_path = element.attr('src');
            if (!file_path) {
                continue;
            }
            let img = $(`<img class="svg" src="${file_path}" onload="SVGInject(this)" />`);
            element.prepend(img);
        }
    }
}
